unit untListagemFornecedor;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListagemPadrao, FMTBcd, DB, SqlExpr, Grids, DBGrids,
  StdCtrls, Buttons, ExtCtrls;

type
  TfrmListagemFornecedor = class(TfrmListagemPadrao)
    procedure btnInserirClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure edtpesquisarChange(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure grdlistagemDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure grdlistagemTitleClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListagemFornecedor: TfrmListagemFornecedor;

implementation

uses untDM, untFuncao, untCadastroFornecedor;

{$R *.dfm}

procedure TfrmListagemFornecedor.FormShow(Sender: TObject);
begin
  inherited;
  dm.cdsFornecedor.Open;
end;

procedure TfrmListagemFornecedor.btnInserirClick(Sender: TObject);
begin
  inherited;
  frmCadastroFornecedor := TfrmCadastroFornecedor.Create(Application);
  frmCadastroFornecedor.Tag := 1;
  frmCadastroFornecedor.ShowModal;
end;

procedure TfrmListagemFornecedor.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadastroFornecedor := TfrmCadastroFornecedor.Create(Application);
  frmCadastroFornecedor.Tag := 2;
  frmCadastroFornecedor.ShowModal;
end;

procedure TfrmListagemFornecedor.edtpesquisarChange(Sender: TObject);
begin
  inherited;
  DM.cdsFornecedor.Locate('for_nomefant', edtpesquisar.Text, [loCaseInsensitive, loPartialKey]);
end;

procedure TfrmListagemFornecedor.btnExcluirClick(Sender: TObject);
begin
  inherited;
  if MessageDlg('Deseja mesmo excluir este Fornecedor?', mtConfirmation,[mbYes,mbNo],0) = mrYes then
  begin
    sdsComando.CommandText := 'delete from fornecedores where for_codigo = :codigo';
    sdsComando.ParamByName('codigo').AsInteger := DM.cdsFornecedor.fieldByName('for_codigo').AsInteger;
    sdsComando.ExecSQL();

    DM.cdsFornecedor.Close;
    dm.cdsFornecedor.Open;
  end;
end;

procedure TfrmListagemFornecedor.grdlistagemDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  inherited;
  if Odd(dm.cdsFornecedor.RecNo) then
  begin
    grdlistagem.Canvas.Font.Color := clWhite;
    grdlistagem.Canvas.Brush.Color := clSkyBlue;
  end
  else
  begin
    grdlistagem.Canvas.Font.Color := clBlack;
    grdlistagem.Canvas.Brush.Color := clWhite;
  end;
  grdlistagem.Canvas.FillRect(Rect);
  grdlistagem.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;

procedure TfrmListagemFornecedor.grdlistagemTitleClick(Column: TColumn);
begin
  inherited;
  dm.cdsFornecedor.IndexFieldNames := Column.FieldName;
end;

end.
